Many search tools are available to provide searching capability for a collection of data. For example, search tools are available to search for documents that may contain information related to a particular search criteria. Such search tools typically create an index of the words within each document. When the search criteria is received, the search tools scan the index to determine which documents contain the words of the search criteria. The search tools may also rank these documents based on various factors including the frequency of the words of the search criteria within the document or the presence of a word of the search criteria within the title of the document.
In the emerging field of electronic commerce, many thousands of products are available to be purchased electronically. For example, an online retailer may offer for sale electronic devices, major appliances, clothing, and so on. The difficulty a potential purchaser faces is identifying a particular product that satisfies the purchaser's needs. Some online retailers provide a search tool that receives a search criteria from a potential purchaser and searches a database containing information for each of the available products to identify those products that most closely match the search criteria. For example, a potential purchaser who is interested in purchasing a television may enter the search criteria of “tv.” The search tool may identify every TV, but may also identify items such as video game players and VCRs that happen to use the term “tv” in their description fields in the database. Thus, many products that are of no interest to the potential purchaser are identified. Many potential purchasers, when faced with such a list that includes many products that are of no interest will simply shop elsewhere rather than wade through the list. Other online retailers may hierarchically organize the products so that a potential purchaser can browse through the hierarchy to identify the classification that contains products that are most likely of interest. For example, the potential purchaser may select an electronics device classification, a home electronics sub-classification, and a television sub-sub-classification. The hierarchical classification of products has several problems. First, many users of computer system do not fully understand the concept of hierarchical classifications. Thus, it is difficult for such users to use such a classification-based system. Second, products may not fall conveniently into any one classification. For example, a combination VCR and television could be classified as a VCR or a television. It is unlikely that an online retailer would have a separate classification for such a combination. Therefore, a potential purchaser may not even be able to locate the products of interest using a hierarchical classification system.
It would be desirable to have a product search technique that would combined the advantages of the search systems and the classification-based systems and that minimizes their disadvantages.